/**
 * @author liangxi
 * @since 2023/12/21
 */

#ifndef DESIGNPATTERN_CONDIMENTDECORATOR_H
#define DESIGNPATTERN_CONDIMENTDECORATOR_H

#include "Beverage.h"

namespace Decorator {

    /**
     * 调料装饰者基类 用于装饰饮料,所以本质上也是饮料 区别就是不能在Beverage上面添加Beverage
     * 但可以在Beverage上面添加CondimentDecorator
     */
    class CondimentDecorator : public Beverage {
    public:
        /**
         * 继承自Beverage的getDescription()
         * @return
         */
        const std::string getDescription() const override = 0;

        ~CondimentDecorator() = default;
    };

} // Decorator

#endif //DESIGNPATTERN_CONDIMENTDECORATOR_H
